Currently, when a network event (e.g., a performance problem) occurs in a computer network, it is generally desirable to determine the cause of the problem, such as why traffic is no longer reaching a destination in the network, or why a delay to reach the destination has become unacceptable. All too often, however, by the time a system administrator is notified to examine the problem, the network may have self-corrected, thus hiding the problem from detection. In particular, the administrator often has to go to particular edge routers of a local domain and manually run diagnostics to the destination that is suffering from the performance problem.
Traceroute (e.g., conventional Traceroute for the Internet Protocol, or “IP”) is a feature available to administrators that allows the administrator to see a hop-by-hop (“per-hop”) trace of nodes in a network from a source of the Traceroute operation to a selected trace target destination. For example, when a destination prefix is unreachable, the network administrator is generally unaware of where exactly a brownout (i.e., temporary network outage) or blackout (i.e., an area of the network with conditions or configurations where packets enter, but do not emerge) is occurring in the network. Also, when congestion happens and an application experiences greater than expected packet loss or round trip time (RTT), it may be beneficial to see per-hop measurements from the source to the destination. Traceroute may be used in these situations by the administrator to determine per-hop measurements to diagnose the problem. Again, however, an issue with manually applying Traceroute diagnostics is that the network event may no longer be occurring (e.g., may have been corrected).
In addition, another issue associated with Traceroute is determining an appropriate trace target to which to direct the Traceroute. For instance, certain targets may not be operational (e.g., the cause of the event), or the administrator may only be generally aware of a destination address prefix having trouble, and not a particular target address within that prefix as needed by the Traceroute operation. Further, traditional Traceroute is typically applied to a current path from the source to the target destination (e.g., a “best” path as determined by various routing protocols), and does not provide additional measurements, e.g., for any alternate available paths through the network, that may otherwise be used for additional purposes.